package com.storage.framework.jwt;

/**
 * 全局error
 *
 * @author wb-zh270168
 */
public enum GlobalError {

    PASSWORD_HAS_CHANGED(-1, "密码已更改，请重新登录获取 token"),

    TYPE_NOT_MATCH(-1, "当前header参数 type 与 token 中的类型类型不匹配, 请重新登录获取 token"),

    TOKEN_OVER_MAX_EXPIRE_TIME(-1, "token 有效期已超过最大免登时长，请重新登录获取 token"),

    TOKEN_HAS_EXPIRED(0, "token 已失效, 请使用返回的新 token 替换已失效 token"),

    MISTAKE_REQUIRED_TYPE_AND_TOKEN(0, "请求header中必须包含 authorization 和 type 参数");

    private final Integer code;

    private final String errMsg;


    GlobalError(Integer code, java.lang.String errMsg) {
        this.code = code;
        this.errMsg = errMsg;
    }

    public Integer getCode() {
        return code;
    }

    public String getErrMsg() {
        return errMsg;
    }

    /**
     * 根据 value 值反推 JobRight
     *
     * @param value
     * @return
     */
    public static GlobalError valueOf(int value) {
        for (GlobalError right : GlobalError.values()) {
            if (value == right.code) {
                return right;
            }
        }
        return null;
    }
}
